﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{

	//printf("%f\n", 123.45);//123.450000
	//%lf与%f打印小数点后六位
	//printf("%12lf\n", 123.45);//  123.450000
	//总共最少12位（包括小数点以及小数点后面的）

	//printf("%+d\n", 123);//+123
	//printf("%+d\n", -123);//-123
	//总是显示正负号

	//printf("%.2f\n", 1.267);//1.27
	//限定小数点后的位数&四舍五入

	//printf("%5.2lf\n", 3.145);// 3.15
	//最少总位数+限定小数点后的位数

	//printf("%*.*f\n", 7, 2, 111.2);// 111.20
	//用*代替数值

	//printf("%s\n", "language");//language
	//printf("%.3s\n", "language");//lan
	//printf("%4.3s\n", "language");// lan
	//输出部分字符串

	/*
	int score = 0;
	printf("请输入成绩");
	scanf("%d", &score);
	一定要取地址 &
	printf("成绩是 %d\n", score);
	*/

	//int a = 0;
	//int b = 0;
	//float f1 = 0.0;
	//float f2 = 0.0;
	//scanf("%d %d %f %f", &a, &b, &f1, &f2);
	//(1)%d处用户输入小数会只读取整数
	//(2)当读取到与前面占位符代表的数据类型不一致的符号时(如，)，停止读取
	//(3)浮点数在内存中可能无法精确保存
	//(4)scanf() 处理数值占位符时，会⾃动过滤空⽩字符
	//   包括空格、制表符、换⾏符等。
	//(5)scanf() 不适合读取可能包含空格的字符串，⽐如书名或歌曲名。
	//printf("%d %d %f %f\n", a, b, f1, f2);
	//可输入多个数值

	//int a = 0;
	//int b = 0;
	//int c = 0;
	//int d = 0;
	//int ret = scanf("%d %d %d %d", &a, &b, &c, &d);
	//printf("a =%d b = %d c = %d d = %d", a, b, c, d);
	//printf("%d\n", ret);
	//ret：一个都没读取（或匹配失败），返回0；成功读取多少个，返回多少个数
	//ret:发生错误（或遇到文件末尾）返回 -1（EOF：End of file）
	//读取数据时，不想后面再读取，ctrl+z三次
	
	//int num = 0;
	//scanf("%d",&num);
	//printf("%d\n", num);
	char ch = 0;
	//scanf("%c", &ch);
	//占位符中，除了 %c 以外，都会⾃动忽略起⾸的空⽩字符
	//scanf(" %c",&ch);
	//但在%c前加空格，可强制跳过空格
	printf("xxxx%cmmmm", ch);

	//char arr[20] = { 0 };//数组
	//scanf("%s", arr);//arr是数组名，数组名是地址
	//printf("%s\n", arr);
	//%s从第一个非空白字符读起，直到遇到空⽩字符
	//（即空格、换⾏符、制表符等）为⽌
	// scanf("%4s", arr);
	//使⽤ %s 占位符时，指定读⼊字符串的最⻓⻓度，即写成% [m]s ，其中的[m] 是⼀个整数，
	//表⽰读取字符串的最⼤⻓度，后⾯的字符将被丢弃

	int year = 0;
	int month = 0;
	int day = 0;
	scanf("%d%*c%d%*c%d%*c%d", &year, &month, &day);
	//%* c 就是在占位符的百分号后⾯，加⼊了赋值忽略符* ，表⽰这个占位符没有对应的
	//	变量，解读后不必返回。
	//只要把* 加在任何占位符的百分号后⾯，该占位符就不会返回值，解析后将被丢弃


	return 0;
}